<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Visual Component Library</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Visual_Component_Library"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Visual_Component_Library rootpage-Visual_Component_Library skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span lang="en">Visual Component Library</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><p class="mw-empty-elt">
</p>
<p><b><span class="lang-en" lang="en">Visual Component Library</span></b> (bibliothèque de composants visuels), abrégé <i>VCL</i>, est un <a href="Framework" title="Framework">framework</a> écrit en <a href="Pascal_Objet" title="Pascal Objet">Pascal Objet</a> par <a href="Borland" title="Borland">Borland</a> pour ses outils de développements <a href="Embarcadero_Delphi" class="mw-redirect" title="Embarcadero Delphi">Delphi</a> et <a href="C%2B%2B_Builder" class="mw-redirect" title="C++ Builder">C++ Builder</a>. La VCL est souvent appréciée par ses utilisateurs pour sa grande clarté et sa cohérence globale. La première mouture de la VCL remonte à <time class="nowrap" datetime="1993-05" data-sort-value="1993-05">mai 1993</time><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Aperçu_global"><span id="Aper.C3.A7u_global"></span>Aperçu global</h2></div>
<p>Cette bibliothèque comporte à la fois des classes et des procédures permettant de concevoir des applications graphique sous <a href="Microsoft_Windows" title="Microsoft Windows">Windows</a> (la VCL encapsule de nombreux composants dont les fenêtres, les mémos, les <a href="Zone_de_texte" title="Zone de texte">zones de texte</a>, les boutons, les pages de propriétés...) ainsi que des <a href="Structure_de_donn%C3%A9es" title="Structure de données">structures de données</a> classiques (conteneurs, objets de synchronisation, fonctions utiles pour la gestion des <a href="Cha%C3%AEne_de_caract%C3%A8res" title="Chaîne de caractères">chaînes de caractères</a>, des dates, des exceptions, etc). La VCL fournit également les types <a href="Embarcadero_Delphi" class="mw-redirect" title="Embarcadero Delphi">Delphi</a> correspondant aux types C définis par les en-têtes <a href="Windows" class="mw-redirect" title="Windows">Windows</a> standard et la traduction en <a href="Pascal_Objet" title="Pascal Objet">Pascal Objet</a> des API exportées par le système d'exploitation.
</p><p>La VCL « traditionnelle » s'interface avec <a href="Windows_API" title="Windows API">Win32</a>. À partir de Delphi 8, Borland a porté la VCL pour <a href="Framework_.NET" class="mw-redirect" title="Framework .NET">.NET</a>, ce qui permet à l'utilisateur Delphi développant sous ce <a href="Framework" title="Framework">framework</a> de concevoir une application graphique soit avec WinForms (le système introduit par <a href="Microsoft" title="Microsoft">Microsoft</a> et exploité sous <a href="Visual_Studio" class="mw-redirect" title="Visual Studio">Visual Studio</a> avec <a href="Visual_Basic_.NET" title="Visual Basic .NET">Visual Basic .NET</a>, <a href="C_sharp" class="mw-redirect" title="C sharp">C#</a>, ou le <a href="C%2B%2B" title="C++">C++</a> managé) ou alors <a href="VCL_.NET" class="mw-redirect" title="VCL .NET">VCL .NET</a>.
</p><p>Depuis Delphi 2009, la VCL supporte par défaut <a href="Unicode" title="Unicode">Unicode</a> et gère (entre autres) la saisie de chaînes Unicode ainsi que les noms de fichiers non-ANSI. De nouvelles classes ont été introduites pour prendre en charge l'encodage et le décodage des chaînes dans des flux de données.
</p><p>Depuis 2009, le support de la <a href="VCL_.NET" class="mw-redirect" title="VCL .NET">VCL .NET</a> a été abandonné.
</p><p>Avec <a href="Delphi_(langage)" title="Delphi (langage)">Delphi 11 Alexandria</a> sorti en septembre 2021 la VCL se refait une beauté en passant de pixels réels (PX) à des pixels indépendants de l'appareil (PID) permettant de s'adapter aux options d'accessibilité (zoom) de Windows et sur les écrans à <a href="Haute_d%C3%A9finition" title="Haute définition">haute définition</a> (High DPI, 4K, ...) sans problèmes de scaling ni de différence entre le nombre de pixels physiques et de pixels affichés.
</p><p>La VCL permet de générer des exécutables pour <a href="Win32" class="mw-redirect" title="Win32">Win32</a> et Win64 fonctionnant de Windows XP à <a href="Windows_11" title="Windows 11">Windows 11</a> selon les API utilisées dans les programmes.
</p><p>Un framework multiplateforme, fortement inspiré de la VCL, a été lancé en 2011 : Firemonkey. Il vient en complément de la VCL dans les versions récentes de Delphi, <a href="C%2B%2BBuilder" title="C++Builder">C++ Builder</a> et RAD Studio.
</p>
<div class="mw-heading mw-heading2"><h2 id="Composants">Composants</h2></div>
<p>Delphi a des composants visuels et non visuels ; il est possible d'en importer de nouveaux. Pour chaque type d'application, on retrouve une multitude de packs de composants.
</p><p>La bibliothèque recensant le plus grand nombre de composants est la JEDI Visual Component Library (<a href="JVCL" title="JVCL">JVCL</a>), elle contient plus de 500 composants visuels et non visuels gratuits.
</p>
<div class="mw-heading mw-heading2"><h2 id="Équivalent_Linux"><span id=".C3.89quivalent_Linux"></span>Équivalent Linux</h2></div>
<p>Lorsque Borland décida de porter Delphi sous <a href="Linux" title="Linux">Linux</a>, elle créa une bibliothèque portable reprenant partout où c'était possible la même interface que la VCL : c'est la <a href="CLX_(Delphi)" title="CLX (Delphi)">CLX</a>.
</p><p>Parallèlement la LCL ou Lazarus Component Library, équivalent libre de la VCL est développé avec le projet <a href="Lazarus_(logiciel)" title="Lazarus (logiciel)">Lazarus</a>. La LCL, contrairement à la VCL, est <a href="Logiciel_multiplateforme" title="Logiciel multiplateforme">multi-plateforme</a>. À terme la LCL sera 100 % compatible avec la VCL et sera interfaçable à travers une simple directive de compilation avec les bibliothèques, <a href="GTK%2B" class="mw-redirect" title="GTK+">GTK</a> 1 et 2, Win32 et <a href="Qt" title="Qt">Qt</a>.
</p><p>Depuis Delphi XE2 Embarcadero propose le framework multiplateforme FireMonkey. Celui-ci est disponible pour créer des applications Linux directement depuis Delphi lorsqu'on a une licence prenant en charge ce système d'exploitation. Le développement restant sous Windows puisque l'environnement de développement est lui-même une application VCL.
</p>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3></div>
<ul><li><a href="CLX_(Delphi)" title="CLX (Delphi)">CLX (Delphi)</a></li>
<li><a href="Embarcadero_Delphi" class="mw-redirect" title="Embarcadero Delphi">Delphi</a></li>
<li><a href="Microsoft_foundation_class" class="mw-redirect" title="Microsoft foundation class">Microsoft foundation class</a></li>
<li><a href="VCL_.NET" class="mw-redirect" title="VCL .NET">VCL .NET</a></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<ul><li><abbr class="abbr indicateur-langue" title="Langue : français">(fr)</abbr> <a rel="nofollow" class="external text" href="http://www.developpez.com/delphi/freewares/composants/">Bibliothèques de composants Delphi</a></li>
<li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <span class="ouvrage"><span class="noarchive">« <a rel="nofollow" class="external text" href="http://homepages.borland.com/jedi/jvcl/"><cite style="font-style:normal; color:var(--color-link-red, #d73333);">JEDI Visual Component Library</cite></a> »<sup class="">(<a rel="nofollow" class="external text" href="https://web.archive.org/web/*/http://homepages.borland.com/jedi/jvcl/">Archive.org</a> • <a rel="nofollow" class="external text" href="https://archive.wikiwix.com/cache/?url=http://homepages.borland.com/jedi/jvcl/">Wikiwix</a> • <a rel="nofollow" class="external text" href="https://archive.is/http://homepages.borland.com/jedi/jvcl/">Archive.is</a> • <a rel="nofollow" class="external text" href="https://webcache.googleusercontent.com/search?hl=fr&q=cache:http://homepages.borland.com/jedi/jvcl/">Google</a> • Que faire ?)</sup></span></span> : Bibliothèque de composants VCL</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h3></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><a rel="nofollow" class="external text" href="http://edn.embarcadero.com/article/32975">Historical Document: Visual Component Library First Draft</a></span>
</li>
</ol></div>
</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de l’informatique</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-06-30" href="https://fr.wikipedia.org/wiki/?title=Visual_Component_Library&oldid=226888081">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>